package client.behavioral.interpreter;

import org.junit.Test;
import uml.behavioral.interpreter.exception.IllegalInstructionException;
import uml.behavioral.interpreter.InstructionInterpreter;

/**
 * 解释器--客户端<br>
 * on 2022/12/31 0:59
 */
public class Client {
    @Test
    public void t() throws IllegalInstructionException {
        //模拟收集到的指令,指令越长，越耗内存，处理时间越长
        String instruction="up climb 2 m then right slip 4 m then down jump 14 m";
        InstructionInterpreter instructionHandler = new InstructionInterpreter();
        instructionHandler.parse(instruction);
        String interpretedInstruction = instructionHandler.interpret();
        System.out.println(interpretedInstruction);
        //足迹示意图：
        /*
         *              ☞ ☞ ☞ ☞
         *            ☝ |||||||||☟
         *            ☝ |||||||||☟
         *  |||||||||||||||||||||☟
         *  |||||||||||||||||||||☟
         *  |||||||||||||||||||||☟
         *  |||||||||||||||||||||☟
         *  |||||||||a|||||||||||☟
         *  ||||||||high|||||||||☟
         *  ||||||||stage||||||||☟
         *  ||||||||stands||||||||☟
         *  ||||||||here|||||||||☟
         *  |||||||||||||||||||||☟
         *  |||||||||||||||||||||☟
         *  |||||||||||||||||||||☟
         *  |||||||||||||||||||||☟
         *  ||||||||||||||||\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
         *  ||||||||||||||||\\\\\\\\\a river flows here\\\\\\\\\\\
         *  |||||||||||||||||||||\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
         * */
    }
}
